//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//

package com.example.listener;

import java.beans.ConstructorProperties;

import lombok.EqualsAndHashCode;
import org.springframework.amqp.rabbit.listener.MethodRabbitListenerEndpoint;

@EqualsAndHashCode
public class MethodShardRabbitListenerEndpoint extends MethodRabbitListenerEndpoint {
    private String queueNamePrefix;
    private int shardSize;
    private int num;
    private String instanceId;

    public String getQueueNamePrefix() {
        return this.queueNamePrefix;
    }

    public int getShardSize() {
        return this.shardSize;
    }

    public int getNum() {
        return this.num;
    }

    public String getInstanceId() {
        return this.instanceId;
    }

    public void setQueueNamePrefix(String queueNamePrefix) {
        this.queueNamePrefix = queueNamePrefix;
    }

    public void setShardSize(int shardSize) {
        this.shardSize = shardSize;
    }

    public void setNum(int num) {
        this.num = num;
    }

    public void setInstanceId(String instanceId) {
        this.instanceId = instanceId;
    }

    public boolean equals(Object o) {
        if (o == this) {
            return true;
        } else if (!(o instanceof MethodShardRabbitListenerEndpoint)) {
            return false;
        } else {
            MethodShardRabbitListenerEndpoint other = (MethodShardRabbitListenerEndpoint)o;
            if (!other.canEqual(this)) {
                return false;
            } else {
                label43: {
                    Object this$queueNamePrefix = this.getQueueNamePrefix();
                    Object other$queueNamePrefix = other.getQueueNamePrefix();
                    if (this$queueNamePrefix == null) {
                        if (other$queueNamePrefix == null) {
                            break label43;
                        }
                    } else if (this$queueNamePrefix.equals(other$queueNamePrefix)) {
                        break label43;
                    }

                    return false;
                }

                if (this.getShardSize() != other.getShardSize()) {
                    return false;
                } else if (this.getNum() != other.getNum()) {
                    return false;
                } else {
                    Object this$instanceId = this.getInstanceId();
                    Object other$instanceId = other.getInstanceId();
                    if (this$instanceId == null) {
                        if (other$instanceId != null) {
                            return false;
                        }
                    } else if (!this$instanceId.equals(other$instanceId)) {
                        return false;
                    }

                    return true;
                }
            }
        }
    }

    protected boolean canEqual(Object other) {
        return other instanceof MethodShardRabbitListenerEndpoint;
    }

/*    public int hashCode() {
        int PRIME = true;
        int result = 1;
        Object $queueNamePrefix = this.getQueueNamePrefix();
        int result = result * 59 + ($queueNamePrefix == null ? 43 : $queueNamePrefix.hashCode());
        result = result * 59 + this.getShardSize();
        result = result * 59 + this.getNum();
        Object $instanceId = this.getInstanceId();
        result = result * 59 + ($instanceId == null ? 43 : $instanceId.hashCode());
        return result;
    }*/

    public String toString() {
        return "MethodShardRabbitListenerEndpoint(queueNamePrefix=" + this.getQueueNamePrefix() + ", shardSize=" + this.getShardSize() + ", num=" + this.getNum() + ", instanceId=" + this.getInstanceId() + ")";
    }

    public MethodShardRabbitListenerEndpoint() {
    }

    @ConstructorProperties({"queueNamePrefix", "shardSize", "num", "instanceId"})
    public MethodShardRabbitListenerEndpoint(String queueNamePrefix, int shardSize, int num, String instanceId) {
        this.queueNamePrefix = queueNamePrefix;
        this.shardSize = shardSize;
        this.num = num;
        this.instanceId = instanceId;
    }
}
